// pages/my/index.js
const app = getApp()
const promisify = require('../../libs/promisify.js')
const wxGetImageInfo = promisify(wx.getImageInfo)

import {
  signature_name_commit
} from '../../api/request'


Page({
  data: {
    share_input: false,
    share_title: '', //分享标题
    share_title_length: '0', //分享标题长度
    share_img_url: '', //分享图片
    signature_name: '', //个人签名
    toutiao_input: false, //是否选择该按钮
    toutiao_select: false, //是否选择该按钮
    toutiao_title: '',
    toutiao_Url: 'https://yz.2alive.cn/image/toutiao_yzwdj.png',
    toutiao_img_url: '',
    logo_url: '',
    cur_property_name: '',
    qrcode_Url: '', //小程序二维码地址
    imgUrl: '', //本地二维码临时文件
    mgr_status: false, //该用户对本小区是否有管理权限  false-没有  true-有    
  },

  onLoad: function (options) {
    if (app.globalData.cur_room_code == '') {
      this.setData({
        cur_property_name: app.globalData.cur_property_name + '(请实名认证)',
      })
    } else {
      this.setData({
        cur_property_name: app.globalData.cur_property_name + '(' + app.globalData.cur_room_code + ')',
      })
    }
    this.setData({
      logo_url: wx.getStorageSync('userInfo').avatarUrl,
      share_title: app.globalData.share_title,
      share_img_url: app.globalData.share_img_url,
      signature_name: wx.getStorageSync('signature_name'),
      share_title_length: app.globalData.share_title.length,
    })
    if (app.globalData.property_list == "[ALL]" ||
      app.globalData.property_list.indexOf("[" + app.globalData.cur_property_code + "]") > 0) {
      this.setData({
        mgr_status: true
      })
    }

  },

  on_click_ppt() {
    wx.navigateTo({
      url: "/pages/ppt/index"
    })
  },


  radio() {
    wx.navigateTo({
      url: "/pages/radio/index"
    })
  },


  share_click() {
    this.setData({
      share_input: true
    })
  },

  share_submit() {
    this.setData({
      share_input: false,
    })
    app.globalData.share_title = this.data.share_title
    wx.showModal({
      title: '个性化分享标题修改成功',
      confirmText: '确定',
      showCancel: false,
      content: '资讯公告可分享朋友圈，返回首页点击右上角可分享小区个性化标题',
    })
  },

  //我的实名认证
  auth() {
    wx.navigateTo({
      url: '/pages/autWay/autWay'
    })
  },

  //生成今日头条小程序码
  toutiao() {
    const that = this

    that.setData({
      toutiao_title: app.globalData.cur_property_name + '正在成立业委会...',
      toutiao_input: true,
    })
  },

  toutiao_submit() {
    let that = this
    that.setData({
      toutiao_select: true,
      toutiao_input: false,
    })
    wx.showLoading({
      title: '今日头条生成中...'
    })

    var m_path = 'pages/home/index?from_property_code=' + app.globalData.cur_property_code + '&from_openid=' + app.globalData.cur_my_openid
    wx.cloud.callFunction({
      name: "get_qrcode", //128字节带参数调用
      data: {
        path: m_path,
        width: 200
      },

      success(res) {
        that.setData({
          qrcode_Url: res.result.buffer.fileID
        })
        that.download_toutiao()

        wx.hideLoading();
      },
      fail(res) {
        wx.hideLoading();
      },
    })
  },

  download_toutiao() {
    let that = this
    wx.cloud.getTempFileURL({
      fileList: [that.data.qrcode_Url],
      success: res => {
        let m_imgUrl = res.fileList[0].tempFileURL
        console.log("获取图片url成功", m_imgUrl)
        that.setData({
          toutiao_img_url: m_imgUrl
        })

        wx.showLoading({
          title: '生成中...'
        })
        that.toutiao_create()
        wx.hideLoading()

      },
    })
  },

  toutiao_create() {
    let that = this
    //-----------图案+文字---begin---------
    //参考文档:https://www.jianshu.com/p/ceb42fe76e77
    //微信小程序之生成图片分享

    wx.showLoading({
      title: '生成中...'
    })

    Promise.all([
      //二维码
      wxGetImageInfo({
        src: this.data.toutiao_Url,
      }),
      wxGetImageInfo({
        src: this.data.toutiao_img_url, //需转换为http:  原为cloud:
      }),

    ]).then(res => {
      const ctx = wx.createCanvasContext('toutiao')
      // 底图 今日头条
      const qrImgSize = 94
      ctx.setFillStyle('#FFFFFF')
      ctx.fillRect(0, 0, 400, 300)

      ctx.drawImage(res[0].path, 0, 0, 396, 300)
      ctx.drawImage(res[1].path, 11, 16, qrImgSize - 4, qrImgSize - 4)


      ctx.setTextAlign('left')
      ctx.setFillStyle('#000000') // 文字颜色
      ctx.setFontSize(20) // 文字字号

      //小程序码
      var m_title = app.globalData.cur_property_name + '专属小程序码'
      ctx.fillText(m_title, 110, 40)
      ctx.fillText(m_title, 110 + 0.5, 40 + 0.5)

      ctx.setFontSize(16) // 文字字号
      ctx.fillText(app.globalData.cur_street_name, 110, 76)

      ctx.setFontSize(16) // 文字字号
      ctx.fillText('请保存小程序码 长按识别二维码进入', 110, 100)

      //今日头条
      ctx.setFontSize(20) // 文字字号
      var m_title = that.data.toutiao_title
      ctx.fillText(m_title, 110, 216)
      ctx.fillText(m_title, 110 + 0.5, 216 + 0.5)

      ctx.setFontSize(16) // 文字字号
      ctx.fillText('按照《民法典》和《物业管理条例》', 110, 252)

      ctx.setFontSize(16) // 文字字号
      ctx.fillText('使用“业主我当家”业主决策信息系统', 110, 276)

      ctx.setFontSize(14) // 文字字号
      ctx.fillText('广告', 360, 20)

      ctx.stroke()
      ctx.draw()
    })

    //生成图片保存到临时文件
    //    const wxCanvasToTempFilePath = promisify(wx.canvasToTempFilePath)

    //    wxCanvasToTempFilePath({
    //      canvasId: 'toutiao'
    //    }, this).then(res => {

    //更新生成的图片
    //      that.setData({
    //        toutiao_img_url: res.tempFilePath
    //      })

    //    }).then(res => {
    wx.showToast({
      title: '今日头条已生成'
    })
    //    })
    //-----------今日头条图案+文字end---------
  },

  share_signature_change(e) {
    this.setData({
      signature_name: e.detail.value
    })
    if (e.detail.value != '') {
      app.globalData.signature_name = '【' + e.detail.value + '】'
    } else {
      app.globalData.signature_name = ''
    }

    wx.setStorageSync('signature_name', app.globalData.signature_name)

    //个人签名更新到数据库
    var data = {
      para: [app.globalData.cur_my_openid, app.globalData.signature_name]
    }
    signature_name_commit(data).then(res => {})

  },

  share_Input(e) {
    this.setData({
      share_title: e.detail.value,
      share_title_length: e.detail.value.length
    })
    app.globalData.share_title = e.detail.value
  },


  field_change(e) {
    this.setData({
      toutiao_title: e.detail
    })
  },


  //生成二维码
  getQrcode() {
    const that = this
    wx.showLoading({
      title: '二维码生成中...'
    })

    var m_path = 'pages/home/index?from_property_code=' + app.globalData.cur_property_code + '&from_openid=' + app.globalData.cur_my_openid
    console.log('---------path=', m_path)


    wx.cloud.callFunction({
      //      name: "createErweima",   //32字节
      //      data: {
      //        page: "pages/home/index",
      //        scene: app.globalData.cur_property_code,
      //        width: 300
      //      },

      name: "get_qrcode", //128字节带参数调用
      data: {
        path: m_path,
        width: 300
      },

      success(res) {
        //        console.log('----qrcode=', res)
        that.setData({
          qrcode_Url: res.result.buffer.fileID
        })
        that.download_url()

        wx.hideLoading();
      },
      fail(res) {
        wx.hideLoading();
      },
    })
  },

  download_url() {
    let that = this
    wx.cloud.getTempFileURL({
      fileList: [that.data.qrcode_Url],
      success: res => {
        let m_imgUrl = res.fileList[0].tempFileURL
        console.log("获取图片url成功", m_imgUrl)
        that.setData({
          imgUrl: m_imgUrl
        })
        wx.showLoading({
          title: '生成中...'
        })
        that.image_create()
        wx.hideLoading()

      },
    })
  },

  image_create() {
    let that = this
    //-----------图案+文字---begin---------
    //参考文档:https://www.jianshu.com/p/ceb42fe76e77
    //微信小程序之生成图片分享


    Promise.all([
      //二维码
      wxGetImageInfo({
        src: this.data.imgUrl //需转换为http:  原为cloud:
      }),

    ]).then(res => {
      const ctx = wx.createCanvasContext('qrcode_box')
      // 底图 小程序码
      const qrImgSize = 240

      ctx.setFillStyle('#FFFFFF')
      ctx.fillRect(0, 0, 300, 350)
      ctx.drawImage(res[0].path, (300 - qrImgSize) / 2, 64, qrImgSize, qrImgSize)

      ctx.setTextAlign('center') // 文字居中
      ctx.setFillStyle('#000000') // 文字颜色
      ctx.setFontSize(14) // 文字字号
      ctx.fillText(app.globalData.cur_street_name, 300 / 2, 60)

      // 物业小区名称
      ctx.setTextAlign('center') // 文字居中
      ctx.setFillStyle('#FF0000') // 文字颜色
      ctx.setFontSize(22) // 文字字号：22rpx
      ctx.fillText(app.globalData.cur_property_name, 300 / 2, 33)


      ctx.setTextAlign('center') // 文字居中
      ctx.setFillStyle('#000000') // 文字颜色
      ctx.setFontSize(18) // 文字字号
      ctx.fillText('请保存 长按识别二维码进入', 300 / 2, 330)


      ctx.stroke()
      ctx.draw()
    })

    //生成图片保存到临时文件
    //    const wxCanvasToTempFilePath = promisify(wx.canvasToTempFilePath)

    //    wxCanvasToTempFilePath({
    //      canvasId: 'qrcode_box'
    //    }, this).then(res => {

    //更新生成的图片
    //      that.setData({
    //        imgUrl: res.tempFilePath
    //      })

    //    }).then(res => {
    wx.showToast({
      title: '小程序码已生成'
    })
    //    })
    //-----------小程序码图案+文字end---------
  },

  save_qrcode() {
    //保存小程序二维码到相册
    const wxCanvasToTempFilePath = promisify(wx.canvasToTempFilePath)
    const wxSaveImageToPhotosAlbum = promisify(wx.saveImageToPhotosAlbum)

    wxCanvasToTempFilePath({
      canvasId: 'qrcode_box'
    }, this).then(res => {
      return wxSaveImageToPhotosAlbum({
        filePath: res.tempFilePath
      })
    }).then(res => {

      wx.hideLoading()
      wx.showModal({
        title: '小程序专属二维码',
        confirmText: "确定",
        showCancel: false,
        content: '[' + app.globalData.cur_property_name + ']小程序码已保存到相册,可用于公示张贴扫码',
      })
    })
  },

  save_toutiao() {
    let that = this
    //保存今日头条到手机相册
    const wxCanvasToTempFilePath = promisify(wx.canvasToTempFilePath)
    const wxSaveImageToPhotosAlbum = promisify(wx.saveImageToPhotosAlbum)

    wxCanvasToTempFilePath({
      canvasId: 'toutiao'
    }, this).then(res => {
      return wxSaveImageToPhotosAlbum({
        filePath: res.tempFilePath
      })
    }).then(res => {
      that.setData({
        toutiao_input: false,
        toutiao_select: false,
      })
      wx.hideLoading()

      wx.showModal({
        title: '今日头条',
        confirmText: "确定",
        showCancel: false,
        content: '[' + app.globalData.cur_property_name + ']今日头条已保存到相册,可用于媒体发布',
      })
    })
  },

  on_click(e) {
    wx.navigateTo({
      url: '/pages/my_show/index?key=' + e.currentTarget.dataset.key,
    })
  },


  scancode: function () {
    // 允许从相机和相册扫码
    wx.scanCode({
      success(res) {
        console.log(res);

        wx.showModal({
          title: '小区编码',
          content: res.path,
        })

      },
      fail: (res) => {
        console.log(res);
        wx.showToast({
          title: '失败',
          icon: 'none',
          duration: 2000
        })
      }
    })
  },

  send_msg() {
    wx.showLoading({
      title: '发送中...'
    })
    console.log('-----my open id=', app.globalData.cur_my_openid)
    wx.cloud.callFunction({
      name: "uniformMessage",
      data: {
        openid: [app.globalData.cur_my_openid],
      },

      success(res) {
        wx.hideLoading()
      },
      fail(res) {
        wx.hideLoading()
      },
    })
  },
  mgr() {
    wx.navigateTo({
      url: '/pages/mgr/index',
    })
  },
})